/*
100 可以表示为带分数的形式：100=3+69258/714
还可以表示为：100=82+3546/197
注意特征：带分数中，数字 1∼9 分别出现且只出现一次（不包含 0）。

类似这样的带分数，100 有 11 种表示法。

输入格式
一个正整数。

输出格式
输出输入数字用数码 1∼9 不重复不遗漏地组成带分数表示的全部种数。

数据范围
1≤N<106
输入样例1：
100
输出样例1：
11
输入样例2：
105
输出样例2：
6
*/
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 12;
int n;
int path[N];
bool st[N];
int res = 0;
int get(int l, int r)
{
    int ans = 0;
    for (int i = l; i <= r; i++)
        ans = ans * 10 + path[i];
    return ans;
}
bool check(int a, int b, int c)
{
    return n * c - a * c == b ? true : false;
}
void dfs(int u)
{

    if (u > 9)
    {

        for (int i = 1; i <= 9; i++)
        {
            for (int j = i + 1; j <= 9; j++)
            {
                int a = get(1, i), b = get(i + 1, j), c = get(j + 1, 9);
                if (a >= n)
                    return;
                if (check(a, b, c))
                    res++;
            }
        }
        return;
    }

    for (int i = 1; i <= 9; i++)
    {
        if (!st[i])
        {
            st[i] = true;
            path[u] = i;
            dfs(u + 1);
            st[i] = false;
        }
    }
}

int main()
{
    cin >> n;
    dfs(1);
    cout << res << endl;
    return 0;
}